package genetica.cromosomas.fenotipos;

import genetica.cromosomas.genes.Gen;
import genetica.cromosomas.genes.GenNaturalLimitado;
import genetica.data.viajante.Distancias;

import java.util.ArrayList;

public class FenotipoViajante extends Fenotipo {
	protected ArrayList<Integer> ciudades;

	public FenotipoViajante (ArrayList<Gen> genes) {
		ciudades = new ArrayList<Integer>();
		for (Gen g: genes){
			if (!(g instanceof GenNaturalLimitado ))
				throw new Error("Error, errorcito");
			GenNaturalLimitado gen = (GenNaturalLimitado)g;
			this.ciudades.add(gen.getGenValue());	
		}
	}

	@Override
	public String toString(){
		String cadena = "";
		for (Integer ciudad : ciudades)
			cadena += Distancias.getNombreCiudades(ciudad);
		return cadena;
	}
	
	public ArrayList<Integer> getCiudades() {
		return ciudades;
	}
}
